if exists (select 1 from sysobjects where name = 'set_abteilung' and type = 'P')
begin
   drop procedure set_abteilung
   print 'Procedure: set_abteilung deleted ...'
end
go
create procedure set_abteilung(
  @abteilungname     varchar(32)   = 'Abteilung',
  @kurztext          varchar(60)   = 'Abteilung kurztext',
  @beschreibung      varchar(250)  = 'Abteilung Beschreibung',
  @stundenprotag     decimal(5,2)  = 20,
  @mandid            char(2)       = 'li',
--  @gerechnet         int           = 1,
  @retval          int             = 0 output
)
as
begin
  set nocount on

  declare @beschrid   int

  if @beschreibung is null select @beschreibung = '' 
   if not exists (select 1 from Beschreibung where Beschreibung.BeschrID between 1001 and 1500)
   begin 
     select @beschrid = 1001
    end
   else
   begin
     select @beschrid = max(Beschreibung.BeschrID) + 1
       from Beschreibung
      where Beschreibung.BeschrID between 1001 and 1500
    end
  exec set_beschreibung @beschrid, @kurztext, @beschreibung
  insert into Abteilung (Name, BeschrID,stundenprotag,mandid) values (@abteilungname, @beschrid, @stundenprotag,@mandid)

end
go
print 'Procedure: set_abteilung done ...'
go
grant exec on set_abteilung to prsadmins with grant option
go
grant exec on set_abteilung to prsusers
go

